#ifndef __String_h__
#define __String_h__

#include <stdarg.h>
#include <stdio.h>
#include <string>

class String
{
private:
	std::string sString;

	enum { MAX_STRING_SIZE = 4096 };

	String(const String&);
	String& operator=(const String&);
public:
	String(const char * s, ...)
	{
		char sStringBuf[MAX_STRING_SIZE];

		va_list va;
		va_start(va, s);
		vsnprintf(sStringBuf, MAX_STRING_SIZE, s, va);
		va_end(va);
		
		sStringBuf[MAX_STRING_SIZE - 1] = 0;
		sString = sStringBuf;
	};

	~String() {};

	operator const std::string &() const
	{
		return sString;
	};	
};

#endif

